package com.ruoyi.common.core.domain.entity;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 请假审批记录对象 wsd_leave_records
 *
 * @author ruoyi
 * @date 2024-04-16
 */
@Data
public class WsdLeaveRecords extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 审批记录ID */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /** 请假ID */
    @Excel(name = "请假ID")
    private Long leaveId;

    /** 学校ID */
    @Excel(name = "学校Id")
    private Long schoolId;

    @Excel(name = "学生姓名")
    @TableField(exist =false)
    private String studentName;

    /** 年级 */
    @Excel(name = "年级名称")
    @TableField(exist =false)
    private String className;

    /** 班级 */
    @Excel(name = "班级名称")
    @TableField(exist =false)
    private String gradeName;
    /** 学校审批人ID */
    @Excel(name = "学校审批人ID")
    private Long schoolApproverId;
    @Excel(name = "审批人名称")
    @TableField(exist =false)
    private String name;
    /** 逻辑删除标记，0=未删除，1=已删除 */
    @Excel(name = "逻辑删除标记，0=未删除，1=已删除")
    private Integer isDeleted;

    /** 家长提交状态：0=未提交, 1=已提交 */
    @Excel(name = "家长提交状态：0=未提交, 1=已提交")
    private Long parentApprovalStatus;

    /** 学校审批状态：0=未审批, 1=已审批通过, 2=已拒绝 */
    @Excel(name = "学校审批状态：0=未审批, 1=已审批通过, 2=已拒绝")
    private Long schoolApprovalStatus;
    @Excel(name = "班级名称")
    @TableField(exist =false)
    private String statusName;
    /** 学校审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "学校审批时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date schoolApprovalTime;

    /** 学校审批意见 */
    @Excel(name = "学校审批意见")
    private String schoolComment;

    //退款总金额
    @TableField(exist =false)
    private BigDecimal refundAmount  = BigDecimal.ZERO;
    //早餐次数
    @TableField(exist =false)
    private Integer breakfast;
    //午餐次数
    @TableField(exist =false)
    private Integer lunch;
    //晚餐次数
    @TableField(exist =false)
    private Integer dinner;
    /** 开始时间 */
    @TableField(exist =false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 结束时间 */
    @TableField(exist =false)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    @TableField(exist =false)
    private Long payoutStatus;

    @TableField(exist =false)
    private Long status;
    @TableField(exist =false)
    private String classIds;
    @TableField(exist =false)
    private Long studentId;
    @TableField(exist =false)
    private String payoutRemarks;
    //当前阶段
    @TableField(exist =false)
    private Integer isNow;
}
